package com.project.server.service.companies;

import com.project.server.domain.companies.TCompany;

import java.util.List;

/**
 * 企业信息Service接口
 *
 * @author project
 * @date 2021-07-01
 */
public interface ITCompanyService {

    /**
     * 查询企业信息
     *
     * @param compId 企业信息ID
     * @return 企业信息
     */
    public TCompany selectTCompanyById(Long compId);

    /**
     * 查询企业信息列表
     *
     * @param tCompany 企业信息
     * @return 企业信息集合
     */
    public List<TCompany> selectTCompanyList(TCompany tCompany);

    /**
     * 查询所有企业
     *
     * @return 企业列表
     */
    public List<TCompany> selectTCompanyAll();

    /**
     * 根据员工ID获取企业选择框列表
     *
     * @param staffId 员工ID
     * @return 选中企业ID列表
     */
    List<Integer> selectTCompanyListByStaffId(Long staffId);

    /**
     * 根据报修记录id查询企业选择框列表
     *
     * @param serviceId 报修记录ID
     * @return 选中企业id列表
     */
    public List<Integer> selectTCompanyByServiceId(Long serviceId);

    /**
     * 根据缴费记录id查询企业选择框列表
     *
     * @param payId 缴费记录id
     * @return 选中企业列表
     */
    public List<Integer> selectTCompanyByPayId(Long payId);

    /**
     * 新增企业信息
     *
     * @param tCompany 企业信息
     * @return 结果
     */
    public int insertTCompany(TCompany tCompany);

    /**
     * 修改企业信息
     *
     * @param tCompany 企业信息
     * @return 结果
     */
    public int updateTCompany(TCompany tCompany);

    /**
     * 批量删除企业信息
     *
     * @param compIds 需要删除的企业信息ID
     * @return 结果
     */
    public int deleteTCompanyByIds(Long[] compIds);

    /**
     * 删除企业信息信息
     *
     * @param compId 企业信息ID
     * @return 结果
     */
    public int deleteTCompanyById(Long compId);
}
